Skip to content

ci: Add stable releases#23657

Open
kjarosh wants to merge 3 commits intoruffle-rs:masterfrom
kjarosh:ci-release-gha
Open

ci: Add stable releases#23657
kjarosh wants to merge 3 commits intoruffle-rs:masterfrom
kjarosh:ci-release-gha

Conversation

@kjarosh
Copy link
Copy Markdown
Member

@kjarosh kjarosh commented May 6, 2026

Description

This is a retake of #17193.

The majority of code has already been merged, this adds the remaining pieces so that we can do stable releases.

Specifically:

  • fix version4 for stable releases so it's date-independent,
  • accept release_type input param which allows selecting what release should be performed,
  • set release channel based on release type (nightly/stable),
  • for non-nightly releases, push the release commit to the branch.

Stuff like publishing extensions, the AUR package, demo, or JS docs are constrained to nightly releases for now. The npm package is published for all versions (according to my knowledge it should work OOTB).

Testing

It has been tested on my fork, did three releases:

  1. 0.2.0,
  2. a nightly release,
  3. 1.0.0.

Resulting commits: https://github.com/kjarosh/ruffle/commits/102c8082d0c0db747432bc034b2c841c81e3a5b7

Resulting releases: https://github.com/kjarosh/ruffle/releases

Jobs:

Checklist

  • I, a human, have self-reviewed this PR and fully understand the changes within.
  • I have made or updated tests where possible.
  • All of my commits are properly scoped, compile successfully, and pass all tests.
  • This PR does not make sense to split up into smaller PRs.
  • An LLM was involved in the authoring of this code.

kjarosh added 3 commits May 6, 2026 20:40
Stable releases cannot have a version dependent on the day. This changes
the day ID to be the max day ID we expect.
Now the configure step sets the release channel and other steps depend
on it: either include it in the build, or use it as a condition.
This adds a possibility to trigger a stable release, choosing one of 3
possible release types: major, minor, patch.
@kjarosh kjarosh requested a review from Dinnerbone May 6, 2026 19:16
@kjarosh kjarosh added A-build Area: Build scripts & CI T-feature Type: New Feature (that Flash doesn't have) labels May 6, 2026
@danielhjacobs
Copy link
Copy Markdown
Contributor

We should make sure none of the website's code relies on a certain order of releases. For example, am I reading right that this will pull the latest AVM2 Report, regardless if it's from a nightly or not? Is that okay, or a concern?

https://github.com/ruffle-rs/ruffle-rs.github.io/blob/be75c85b37cbd8a876d6e94714c22ed0a2e5d921/src/app/downloads/github.tsx#L32-L63

@danielhjacobs
Copy link
Copy Markdown
Contributor

I think we'll want to revive and merge ruffle-rs/ruffle-rs.github.io#308 at the same time.

@kjarosh
Copy link
Copy Markdown
Member Author

kjarosh commented May 6, 2026

Yes, I planned to take care of the website after this PR.

BTW Merging this PR should be fine if we don't do any releases just yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-build Area: Build scripts & CI T-feature Type: New Feature (that Flash doesn't have)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants